<template>
  <!-- 主体部分 -->
    <section class="main">
      <input v-model="isAchangeA" id="toggle-all" class="toggle-all" type="checkbox" />
      <label for="toggle-all">Mark all as complete</label>
      <ul class="todo-list">
        <!-- 当任务已完成，可以给 li 加上 completed 类，会让元素加上删除线 -->
        <li :class="{completed:item.isDone}"
         v-for="item in list"
         :key="item.id"
        >
          <div class="view">
            <input class="toggle" type="checkbox"  @change="hchange(item.id)"
            :checked="item.isDone"
             />
            <label>{{item.name}}</label>
            <button class="destroy" @click="del(item.id)"></button>
          </div>
        </li>
      </ul>
    </section>
</template>

<script>
export default {
  props:{
    list:{
      type:Array,
      required:true
    }
  },
  methods:{
    del(id){
      this.$emit('hDel',id)
    },
    hchange(id){
      this.$emit('hChange',id)
    }
  },
   computed:{
    isAchangeA:{
      get(){
        return this.list.every(item => item.isDone)
      },
      set(val) {
        //当用户修改状态时触发
        // console.log(val);
        // 子传父 交给父组件更新状态 
        this.$emit('changeAll', val);
      }
    }
   },
};
</script>

<style lang="scss" scoped>

</style>